<?php //====================================================================================== // // Function: Maintain HUB_WEBTRN // // Programmer: AR // Date : 2024-07-19 // // Copyright Reeft A/S (c) - 2024 //====================================================================================== // https://stackoverflow.com/questions/56062658/clicking-programmatically-on-the-arrows-of-html-inputs-type-number //====================================================================================== // Get input //====================================================================================== if (isset($_REQUEST["webnam"])) { $input_WEBNAM = $_REQUEST["webnam"]; } else { $input_WEBNAM = 'HUB_LOG'; } //====================================================================================== // Make line uppercase //====================================================================================== //====================================================================================== // General config //====================================================================================== include "config/config.php"; //====================================================================================== // Check if user is logged in? //====================================================================================== include "login_check.php"; //====================================================================================== // Get session variables //====================================================================================== include "include/getsession.php"; // include "include/uuid_create.php"; // include "include/generate_password_md5.php"; //====================================================================================== // Set language //====================================================================================== include "include/set_language.php"; //====================================================================================== // Set defaults //====================================================================================== // $pk_reference = $_SESSION['session_dft_pk_reference']; // $referenceCode = $_SESSION['session_dft_referencecode']; // $referenceName = $_SESSION['session_dft_referencename']; //====================================================================================== ?> <!DOCTYPE html> <html lang="en"> <head> <title><?php echo $datahub_text0001 ?></title> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="description" content="REEFTvisual - Stoptime"> <meta name="author" content="REEFT A/S"> <link rel="icon" href="images/favicon/favicon.ico"> <!-- Bootstrap / jQuery --> <link href="css/bootstrap4.3.1/css/bootstrap.custom.min.css" rel="stylesheet"> <link href="css/bootstrap4.3.1/css/themes/bootstrap.custom.min.css" rel="stylesheet"> <link href="css/bootstrap4.3.1/css/normalize.css" rel="stylesheet" type="text/css"> <link href="css/sticky-footer.css" rel="stylesheet" type="text/css"> <!-- Custom styles for this template --> <link href="css/custom.css" rel="stylesheet"> <link href="css/style.css" rel="stylesheet"> <script src="css/fontawesome6.5.1/js/all.min.js"></script> <script src="css/fontawesome6.5.1/js/sharp-light.min.js"></script> <script src="css/fontawesome6.5.1/js/sharp-regular.min.js"></script> <script src="css/fontawesome6.5.1/js/sharp-solid.min.js"></script> <script src="css/fontawesome6.5.1/js/sharp-thin.min.js"></script> <link href="css/bootstrap_animation/css/animate4/animate.css" rel="stylesheet" type="text/css"> <!--<link href="javascript/chosen/chosen.css" rel="stylesheet" type="text/css">--> <link href="javascript/jquery-ui/jquery-ui.min.css" rel="stylesheet" type="text/css"/> <script src="javascript/jquery.js"></script> <script src="css/bootstrap4.3.1/js/popper.js"></script> <script src="css/bootstrap4.3.1/js/bootstrap.min.js"></script> <script src="javascript/jquery-ui/jquery-ui.min.js"></script> <script src="javascript/jquery.ui.touch-punch.min.js"></script> <link href="javascript/bgrins-spectrum/spectrum.css" rel="stylesheet" type="text/css"> <script src="javascript/bgrins-spectrum/spectrum.js"></script> <script src="javascript/moment.min.js"></script> <script src="javascript/moment-with-locales.min.js"></script> <script src="javascript/moment-duration-format.min.js"></script> <script src="javascript/number_format/jquery.number.min.js"></script> <script src="javascript/jquery.scrollTo.min.js"></script> <link href="javascript/daatatables/media/css/jquery.dataTables.min.css" rel="stylesheet" type="text/css"> <link href="javascript/daatatables/media/css/fixedHeader.dataTables.min.css" rel="stylesheet" type="text/css"> <link href="javascript/daatatables/Buttons-1.4.2/css/buttons.dataTables.min.css" rel="stylesheet" type="text/css"> <script src="javascript/daatatables/media/js/jquery.dataTables.min.js"></script> <script src="javascript/daatatables/media/js/dataTables.fixedHeader.min.js"></script> <script src="javascript/daatatables/Buttons-1.4.2/js/dataTables.buttons.min.js"></script> <script src="javascript/daatatables/Buttons-1.4.2/js/buttons.flash.min.js"></script> <script src="javascript/daatatables/JSZip-2.5.0/jszip.min.js"></script> <script src="javascript/daatatables/pdfmake-0.1.53/pdfmake.min.js"></script> <script src="javascript/daatatables/pdfmake-0.1.53/vfs_fonts.js"></script> <script src="javascript/daatatables/Buttons-1.4.2/js/buttons.html5.min.js"></script> <script src="javascript/daatatables/Buttons-1.4.2/js/buttons.print.min.js"></script> <script src="javascript/chosen/chosen.jquery.min.js" type="text/javascript"></script> <script src="javascript/viewer-master/dist/viewer.min.js"></script> <link href="javascript/viewer-master/dist/viewer.min.css" rel="stylesheet"> <script src="javascript/ajaxq/ajaxq.js"></script> <link id="scrollUpTheme" rel="stylesheet" href="javascript/scrollup-master/dist/css/themes/image.css"> <script src="javascript/scrollup-master/dist/jquery.scrollUp.js"></script> <script src="javascript/shortcut.js"></script> <script src="javascript/_reeft_js/set_font_awesome_icon_type.js"></script> <script src="javascript/_reeft_js/date_convert.js"></script> <style> .btn-custom-wide { height:60px; width:210px; } .modal-xxl { max-width: 80%; } .modal-xl { max-width: 50%; } .border-3 { border-width:3px !important; } td .hover-img { position:relative; } td .hover-img span { position:absolute; left:-9999px; top:-9999px; z-index:9999; } td:hover .hover-img span { top: 5px; left:0px; } .chosen-container-single { min-width: 100%; } </style> <script language="JavaScript"> //============================================================================= // Globals //============================================================================= var myCurrentRow; var myGlobalRowData; var myGlobalTableData; var input_WEBNAM = '<?php echo $input_WEBNAM ?>'; var global_debug = 'N'; // Add allowed Y/N var GLOBAL_ADD_ALLOWED = 'N'; // Delete allowed Y/N var GLOBAL_DELETE_ALLOWED = 'N'; // sortMode var GLOBAL_SORTMODE = 'DESC'; var jsonDataSave = {}; var DFT_DATE_DISPLAY_FORMAT = '<?php //echo $DFT_DATE_DISPLAY_FORMAT ?>'; var DFT_LANGUAGE = '<?php //echo $DFT_LANGUAGE ?>'; var GLOBAL_TOTALPAGESSTOPVALUE = 10; // Save field //var save_CFGNAM = ''; $(function () { $.scrollUp({ scrollName: 'scrollUp', // Element ID //topDistance: '1800', // Distance from top before showing element (px) //topSpeed: 300, // Speed back to top (ms) scrollDistance: '300', // Distance from top before showing element (px) scrollSpeed: 300, // Speed back to top (ms) animation: 'fade', // Fade, slide, none animationInSpeed: 200, // Animation in speed (ms) animationOutSpeed: 200, // Animation out speed (ms) scrollText: false, //'Scroll to top', // Text for element activeOverlay: false, // Set CSS color to display scrollUp active point, e.g '#00FFFF' }); }); //============================================================================= // Get data - prompter //============================================================================= function getDataPrompter( input_WEBNAM, input_goto, input_button_number ) { if ( input_button_number != '' ) { $('#input-myCurrentPageCounter').val( input_button_number ); } // Calculate offset var myPageGoTo = $('#input-myPageGoTo').val(); var myTotalRecordsFound = $('#input-myTotalRecordsFound').val(); var myTotalPages = $('#input-myTotalPages').val(); var myPageSize = $('#input-myPageSize').val(); if ( myPageSize == '' ) { myPageSize = '0'; } let myOffSet = parseInt(myPageSize) * parseInt(input_goto); // Set offset $('#input-myPageGoTo').val( input_goto ); $('#input-myOffSet').val( myOffSet ); // Reset, show all if ( input_WEBNAM == '*RESET' ) { input_WEBNAM = ''; $('#input-show-next-prodid').val('N'); $('#input-search-line').val('');; $('#page-prev-button, #page-next-button').removeClass('d-none'); $('#input-myBuildPageButtonsFirstTime').val('N'); $('#input-search-arg' ).val( '' ); setSortButton('DESC'); } if ( input_WEBNAM != '' ) { $('#input-search-line').val( input_WEBNAM ); } // Get some data getData(); } //============================================================================= // Get data //============================================================================= function getData() { if ( global_debug == 'Y' ) { console.log("Start"); console.time("answer time"); console.timeLog("answer time"); } $('#data-result').html('<?php echo $datahub_datatable_Processing ?>').addClass('text-center'); // Get the current search line var input_search_arg = $('#input-search-arg').val(); var input_timesort = $('#input-timesort').val(); var input_WEBNAM = $('#input-WEBNAM').val(); var input_fromdate = $('#input-fromdate').val(); var input_fromtime = $('#input-fromtime').val(); var input_todate = $('#input-todate').val(); var input_totime = $('#input-totime').val(); // Get page data myTotalRecordsFound = $('#input-myTotalRecordsFound').val(); myTotalPages = $('#input-myTotalPages').val(); myPageSize = $('#input-myPageSize').val(); myPageGoTo = $('#input-myPageGoTo').val(); myOffSet = $('#input-myOffSet').val(); myCurrentPageCounter = $('#input-myCurrentPageCounter').val(); let myButtonOffSetNumber = myPageGoTo; if ( myButtonOffSetNumber <= 1 || myButtonOffSetNumber == '' ) { myButtonOffSetNumber = 1 $('#page-prev-button').addClass('d-none'); } else { //$('#page-prev-button').removeClass('d-none'); } $('.pagination-badge-class').removeClass('badge-success').addClass('badge-dark'); var selectButtonLineID = 'select-page-button-id-' + myButtonOffSetNumber; $('#' + selectButtonLineID).removeClass('badge-dark').addClass('badge-success'); //var myPageSize = 500; //var myOffSet = 0; // Create param list parmData = 'timesort=' + input_timesort + '&hub_webnam=' + input_WEBNAM + '&myPageGoTo=' + myPageGoTo + '&myOffSet=' + myOffSet + '&myPageSize=' + myPageSize + '&search_arg=' + input_search_arg ; if (input_fromdate.trim() != '') parmData += '&fromdate=' + input_fromdate.trim(); if (input_fromtime.trim() != '') { input_fromtime = input_fromtime.concat(":00"); parmData += '&fromtime=' + input_fromtime; } if (input_todate.trim() != '') parmData += '&todate=' + input_todate.trim(); if (input_totime.trim() != '') { input_totime = input_totime.trim().concat(":00"); parmData += '&totime=' + input_totime; } $.ajax({ url: "hub_webtrn_maintain_get.php", type: "GET", data: parmData, dataType: "json", cache: false, beforeSend: function( xhr ) { } }) .done(function( jsonData ) { if ( global_debug == 'Y' ) { console.log("After RPG call"); console.timeLog("answer time"); } // Save jSon data jsonDataSave = jsonData; var returnCode = jsonData.header.returnCode; var returnMsg = jsonData.header.returnMsg; var entries_found = jsonData.header.entries_found; var response_sec = jsonData.header.response_sec; var myTotalRecordsFound = jsonData.header.myTotalRecordsFound; var myTotalPages = jsonData.header.myTotalPages; var myPageSize = jsonData.header.myPageSize; // Update input fields $('#input-myTotalRecordsFound').val(myTotalRecordsFound); $('#input-myTotalPages').val(myTotalPages); $('#input-myPageSize').val(myPageSize); // Init button line fields var HTMLlineButtons = ''; var HTMLlineButtonsModal = ''; var selectedButtonClass = 'btn-dark'; // Create line buttons $.each( jsonData.header_buttons, function( index, object ){ var buttonLine = object.HUB_WEBNAM; var HUB_SERTYP = object.HUB_SERTYP; var buttonCount = object.HUB_COUNT; var buttonPages = object.buttonPages; if ( input_WEBNAM == buttonLine ) { selectedButtonClass = 'btn-success'; } else { selectedButtonClass = 'btn-dark'; } var selectButtonLineID = 'select-button-line-id-' + buttonLine; var selectButtonLineIDmodal = 'select-button-line-id-modal-' + buttonLine + '_' + HUB_SERTYP; HTMLlineButtons += '<button type="button" onclick="setWebserviceSearch(\'' + buttonLine + '\')" style="cursor:default" id="' + selectButtonLineID + '" class="btn ' + selectedButtonClass + ' select-button-line btn-sm mr-1 mb-1" onclick="firstPage(\'' + buttonLine + '\',\'' + '0' + '\',\'' + '' + '\',\'' + buttonPages + '\')">' + buttonLine + ' (<b>' + buttonCount + '</b>)' + ' / ' + HUB_SERTYP + '</button>' HTMLlineButtonsModal += '<button type="button" style="width:45px" id="' + selectButtonLineIDmodal + '" class="select-button-line-modal btn btn-primary btn-sm mr-1 mb-1" onclick="selectLineModal(\'' + buttonLine + '\')">' + buttonLine + ' ' + HUB_SERTYP + '</button>' }); // Add "all button" // if (jsonData.header_buttons.length > 0) { // HTMLlineButtons += '<button type="button" id="' + 'all-button-location' + '" class="btn ' + 'btn-primary' + ' btn-sm mr-1 mb-1" onclick="getDataPrompter(\'' + '*RESET' + '\',\'' + '0' + '\',\'' + '' + '\',)">' // + 'ALL' // + '</button>' // } $('#data-result-button-lines').html(HTMLlineButtons); $('#data-result-button-lines-modal').html(HTMLlineButtonsModal); // Page x of xxxx $('#text-current-page').html( myPageGoTo ); // Frist call - create pagination buttons if ( $('#input-myBuildPageButtonsFirstTime').val() == 'N' ) { createPaginationButtons() $('#input-myBuildPageButtonsFirstTime').val('Y'); $('#select-page-button-id-1').removeClass('badge-dark').addClass('badge-success'); $('#input-myPageGoTo').val( 1 ); $('#input-myCurrentPageCounter').val( 1 ); $('#page-prev-button').addClass('d-none'); // Set info fields $('#text-current-page').html('1'); $('#text-total-records-found').html(myTotalRecordsFound); $('#text-total-pages').html(myTotalPages); } // Hide "next page" if we are overdue if ( parseInt(myOffSet) > parseInt(myTotalRecordsFound) ) { $('#page-next-button').addClass('d-none'); } else { $('#page-next-button').removeClass('d-none'); } // If there are so few pages that there is not enough to build a page hide all if ( myTotalPages < GLOBAL_TOTALPAGESSTOPVALUE ) { $('#page-first-button').addClass('d-none'); $('#page-last-button').addClass('d-none'); $('#page-prev-button').addClass('d-none'); $('#page-next-button').addClass('d-none'); } // Show load time $('#load-time-from-database').html('entries found: ' + entries_found + ' (' + response_sec + ')'); // Reset HTMLline02 = '<table id="REEFTvisual_data" class="table table-bordered table-striped table-hover">'; HTMLline02 += '<thead>' + '<tr class="bg-primary text-white font-weight-bold text-center">' + '<th class="text-left">' + '<?php echo $datahub_text0140 ?>' + '</th>' + '<th class="text-left">' + '<?php echo $datahub_text0117 ?>' + '</th>' + '<th class="text-left">' + '<?php echo $datahub_text0127 ?>' + '</th>' + '<th class="text-left">' + '<?php echo $datahub_text0141 ?>' + '</th>' + '<th class="text-left">' + '<?php echo $datahub_text0150 ?>' + '</th>' + '<th class="text-left">' + '<?php echo $datahub_text0128 ?>' + '</th>' + '<th class="text-left">' + '<?php echo $datahub_text0129 ?>' + '</th>' + '<th class="text-center">' + '<button id="add-button" title="Shortcut: Alt+F6" onclick="dataAdd(\'' + '0' + '\')" class="d-none btn btn-dark font-weight-bold">' + '<?php echo $datahub_button_save_01 ?>' + '</button>' + '</th>' + '<th class="text-center">' + '' + '</th>' + '</tr>' + '</thead>' + '<tbody>' ; $.each( jsonData.detail, function( index, object ){ var WEBNAM = object.HUB_WEBNAM; var PACKNO = object.HUB_PACKNO; var PRODID = object.HUB_PRODID; var STRCAL = object.HUB_STRCAL; var ENDCAL = object.HUB_ENDCAL; var SECOND = object.HUB_SECOND; var MSECND = object.HUB_MSECND; var INPTXT = object.HUB_INPTXT; var RPYCOD = object.HUB_RPYCOD; var RPYTXT = object.HUB_RPYTXT; var TIMSTP = object.HUB_TIMSTP; var counter = object.counter; // Show record always var recordOK = 'Y'; if ( recordOK == 'Y' ) { // Format WZPID if ( PRODID != '' ) { PRODID_pretty = formatPRODID(PRODID); } else { PRODID_pretty = '-'; } var edt_button_id = 'button-edt-' + counter; var dlt_button_id = 'button-dlt-' + counter; // Track button var button_ifs_track = '<button type="button" class="btn btn-primary btn-block" onclick="showIFStrack(\'' + PRODID +'\',\'' + PRODID_pretty +'\',\'' + TIMSTP +'\')" id="' + TIMSTP + '">' + PRODID_pretty + '</button>' HTMLline02 += '<tr>' + '<td class="text-left">' + WEBNAM + '</td>' + '<td class="text-left">' + TIMSTP + '</td>' + '<td class="text-left" style="max-width:350px">' + '<div class="text-truncate">' + INPTXT + '</div>' + '</td>' + '<td class="text-left">' + PACKNO + '</td>' + '<td class="text-left">' + '<span title="Prodid raw: ' + PRODID + '">' + button_ifs_track + '</span>' + '</td>' + '<td class="text-left">' + RPYCOD + '</td>' + '<td class="text-left">' + RPYTXT + '</td>' + '<td>' + '<button id="' + edt_button_id + '" onclick="dataChange(\'' + counter + '\')" class="btn-block edit-btn btn btn-primary mr-1">' + '<?php echo $datahub_button_show_details_no_icon ?>' + '</button>' + '</td>' + '<td>' + '<button id="' + dlt_button_id + '" onclick="dataDeleteConfirm(\'' + counter + '\')" class="btn btn-danger">' + '<?php echo $datahub_button_delete ?>' + '</button>' + '</td>' + '</tr>' ; } }); HTMLline02 += '</tbody>' + '</table>' // Show yourself to the world, you little fvcker $('#data-result').html(HTMLline02); if ( global_debug == 'Y' ) { console.log("After processing json"); console.timeLog("answer time"); } // Datatables setDataTables(); if ( global_debug == 'Y' ) { console.log("After datatables"); console.timeLog("answer time"); } // // Set click // table = new DataTable('#REEFTvisual_data'); // $('#REEFTvisual_data').on('click', 'tr', function () { // myD = table.row(this).data(); // console.log(myD); // }); //----------------------------------------------------------------------- // Set font awesome icon type //----------------------------------------------------------------------- // Value is from config/config.php var iconType = '<?php echo $DFT_SET_FONT_AWESOME_ICON_TYPE ?>'; setFontAwesomeIconType( iconType ); //----------------------------------------------------------------------- if ( global_debug == 'Y' ) { console.log("Done"); console.timeEnd("answer time"); } //----------------------------------------------------------------------- // Place cursor //----------------------------------------------------------------------- $('#input-search-arg').focus(); //----------------------------------------------------------------------- // Is add allowed //----------------------------------------------------------------------- if ( GLOBAL_ADD_ALLOWED == 'Y' ) { $('#add-button').removeClass('d-none'); } else { $('#add-button').addClass('d-none'); } //----------------------------------------------------------------------- }) .always(function( jsonData ) { //console.log('I am always..'); }) .fail(function( xhr, ajaxOptions, thrownError ) { console.log('I am failed..'); console.log( xhr ); $('#data-result').html( '<b>Error retreiving data from the server...</b>' ); }); } //============================================================================= // Set datatables //============================================================================= function setDataTables() { // Delete allowed? GLOBAL_DELETE_ALLOWED = 'N'; if ( GLOBAL_DELETE_ALLOWED == 'Y' ) { var show_the_delete_button = true; } else { var show_the_delete_button = false; } var input_timesort = $('#input-timesort').val().toLowerCase(); $('#REEFTvisual_data').DataTable({ "responsive": true, "fixedHeader": true, "lengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]], "iDisplayLength": 25, "processing": true, "dom": '', //"dom": 'lfi<bottom>Bp<"clear">', "order": [[ 0, input_timesort ]], "columnDefs": [ { "targets": [ 4 ], "visible": true, "searchable": false, "orderable": false }, { "targets": [ 8 ], "visible": show_the_delete_button, "searchable": false, "orderable": false } ], "language": { "sProcessing": "<?php echo $datahub_datatable_Processing ?>", "sLengthMenu": "<?php echo $datahub_datatable_LengthMenu ?>", "sZeroRecords": "<?php echo $datahub_datatable_ZeroRecords ?>", "sInfo": "<?php echo $datahub_datatable_Info ?>", "sInfoEmpty": "<?php echo $datahub_datatable_InfoEmpty ?>", "sInfoFiltered": "<?php echo $datahub_datatable_InfoFiltered ?>", "sInfoPostFix": "<?php echo $datahub_datatable_InfoPostFix ?>", "sLoadingRecords": "<?php echo $datahub_datatable_Processing ?>", "sSearch": "<?php echo $datahub_datatable_Search ?>", "sUrl": "<?php echo $datahub_datatable_Url ?>", "oPaginate": { "sFirst": "<?php echo $datahub_datatable_First ?>", "sPrevious": "<?php echo $datahub_datatable_Previous ?>", "sNext": "<?php echo $datahub_datatable_Next ?>", "sLast": "<?php echo $datahub_datatable_Last ?>" } }, "rowCallback": function(row, data, index) { }, "preDrawCallback": function(settings) { }, "initComplete": function () { }, "buttons": [ { extend: 'pdf', text: '<img src="images/pdf_logo.png" height="25"> PDF', orientation: 'landscape', title: 'Config - Data Export - PDF', exportOptions: { modifier: { page: 'all' } } }, { extend: 'excel', text: '<img src="images/microsoft_excel_logo.png" height="25"> Excel', title: 'Config Data Export - Excel', }, { extend: 'copy', text: '<img src="images/copy.png" height="25"> Copy to Clipboard', title: 'Config Data Export - Copy', }, ] }); //============================================================================= // Setup the data to be able to update the table without reloading from the server //============================================================================= // Save the table in a global variable myGlobalTableData = $('#REEFTvisual_data').DataTable(); // Handle click on "Edit" button $('#REEFTvisual_data tbody').on('click', '.edit-btn', function() { myCurrentRow = $(this).closest('tr'); myGlobalRowData = myGlobalTableData.row(myCurrentRow).data(); // Debug // console.log(myGlobalRowData); // console.log(myCurrentRow); }); //============================================================================= } //============================================================================= // Scroll page - Previous //============================================================================= function scrollPagePrev( input_action ) { // Calculate offset var myPageGoTo = $('#input-myPageGoTo').val(); var myTotalRecordsFound = $('#input-myTotalRecordsFound').val(); var myTotalPages = $('#input-myTotalPages').val(); var myPageSize = $('#input-myPageSize').val(); $('#input-saveMyDirection').val( input_action ); var myCurrentPageCounter = $('#input-myCurrentPageCounter').val(); myCurrentPageCounter = parseInt(myCurrentPageCounter) - 1 ; if (myCurrentPageCounter < 1 ) { myCurrentPageCounter = 0; } myPageGoTo = parseInt(myPageGoTo) - 1; if ( myPageGoTo <= 0 ) { myPageGoTo = 0; } //console.log('----->' + myCurrentPageCounter + ' ' + GLOBAL_TOTALPAGESSTOPVALUE); // Create button behind if ( myCurrentPageCounter == 0 ) { createPaginationButtons(); $('#input-myCurrentPageCounter').val( GLOBAL_TOTALPAGESSTOPVALUE ); } else { $('#input-myCurrentPageCounter').val( myCurrentPageCounter ); } if ( myPageGoTo <= 1 ) { console.log('I am one....') $('#input-myCurrentPageCounter').val( 1 ); $('#page-prev-button').addClass('d-none'); } $('#input-myPageGoTo').val( myPageGoTo ); // Get me some data getDataPrompter('',myPageGoTo,''); } //============================================================================= // Scroll page - Next //============================================================================= function scrollPageNext( input_action ) { // Calculate offset var myPageGoTo = $('#input-myPageGoTo').val(); var myTotalRecordsFound = $('#input-myTotalRecordsFound').val(); var myTotalPages = $('#input-myTotalPages').val(); var myPageSize = $('#input-myPageSize').val(); $('#input-saveMyDirection').val( input_action ); $('#page-prev-button').removeClass('d-none'); // Next page var myCurrentPageCounter = $('#input-myCurrentPageCounter').val(); myCurrentPageCounter = parseInt(myCurrentPageCounter) + 1 ; // Next page myPageGoTo = parseInt(myPageGoTo) + 1; if ( myPageGoTo >= myTotalPages ) { myPageGoTo = myTotalPages; } //console.log(myCurrentPageCounter + ' ' + GLOBAL_TOTALPAGESSTOPVALUE) // Create button ahead if ( myCurrentPageCounter > GLOBAL_TOTALPAGESSTOPVALUE ) { $('#input-saveMyCurrentPageCounter').val( myPageGoTo - 1 ); myCurrentPageCounter = 1; createPaginationButtons(); } // // Create button behind // if ( myCurrentPageCounter == 0 ) { // createPaginationButtons(); // } $('#input-myCurrentPageCounter').val( myCurrentPageCounter ); $('#input-myPageGoTo').val( myPageGoTo ); // Get me some data getDataPrompter('',myPageGoTo,''); } //============================================================================= // Create pagination buttons //============================================================================= function createPaginationButtons() { // Skip IBM i pagination //return // Update input fields var myTotalRecordsFound = $('#input-myTotalRecordsFound').val(); var myTotalPages = $('#input-myTotalPages').val(); var myPageSize = $('#input-myPageSize').val(); var myPageGoTo = $('#input-myPageGoTo').val(); // Check if there is enought for at whole series of buttons? if ( myTotalPages > GLOBAL_TOTALPAGESSTOPVALUE ) { myLoop = GLOBAL_TOTALPAGESSTOPVALUE; //$('#page-prev-button, #page-next-button').removeClass('d-none'); } else { //$('#page-prev-button, #page-next-button').addClass('d-none'); myLoop = myTotalPages; } // Init button line fields var HTMLPaginationButtons = ''; var selectedButtonClass = 'btn-dark'; var myNumber = myPageGoTo; var i_am_button_number = 0; // Get last direction let myLastDirection = $('#input-saveMyDirection').val(); if ( myLastDirection == '*PREV' ) { let myStartingNumber = $('#input-saveMyCurrentPageCounter').val(); $('#input-myCurrentPageCounter').val(GLOBAL_TOTALPAGESSTOPVALUE); myNumber = myStartingNumber-GLOBAL_TOTALPAGESSTOPVALUE; if ( myNumber < 1 ) { myNumber = 0; } $('#input-saveMyCurrentPageCounter').val(myNumber); } for (let i = 0; i < myLoop; i++) { // Increase the number myNumber = parseInt(myNumber) + 1; i_am_button_number++; // if ( myNumber < GLOBAL_TOTALPAGESSTOPVALUE ) { // i_am_a_zero = ''; // } else { // i_am_a_zero = ''; // } // Add 0 in front of the number if lesser than 10 // This is get a "calm" screen if ( myNumber < 10 ) { i_am_a_zero = '0'; } else { i_am_a_zero = ''; } var selectButtonLineID = 'select-page-button-id-' + myNumber; //console.log('myNumber: ' + myNumber + ' ' + myTotalPages + ' ' + selectButtonLineID); // Make sure we do not get page buttons beyond last page if ( parseInt(myNumber) <= myTotalPages ) { HTMLPaginationButtons += '<span type="button" data-button-number="' + i_am_button_number + '" class="badge badge-dark p-2 mr-1 mb-1 pagination-badge-class" style="cursor:default" id="' + selectButtonLineID + '"' + 'onclick="getDataPrompter(\'' + '' + '\',\'' + myNumber + '\',\'' + i_am_button_number + '\')">' + i_am_a_zero + myNumber + '</span>' } } // Create "first" button HTMLPaginationButtons += '<span type="button" id="page-first-button" class="badge badge-dark p-2 mr-1 mb-1" style="cursor:default" id="' + selectButtonLineID + '"' + 'onclick="firstPage(\'' + '' + '\',\'' + '0' + '\',\'' + '0' + '\')">' + '<?php echo $datahub_text0080 ?>' + '</span>' // Create "last" button HTMLPaginationButtons += '<span type="button" id="page-last-button" class="badge badge-dark p-2 mr-1 mb-1" style="cursor:default" id="' + selectButtonLineID + '"' + 'onclick="lastPage(\'' + '' + '\',\'' + myTotalPages + '\')">' + '<?php echo $datahub_text0081 ?>' + '</span>' // Show pagination buttons $('#data-result-pagination-button').html(HTMLPaginationButtons); } //============================================================================= // Get data - search //============================================================================= function setWebserviceSearch( input_WEBNAM ) { // Save curreent webservice name $('#input-WEBNAM').val( input_WEBNAM ); var selectButtonLineID = 'select-button-line-id-' + input_WEBNAM; // Set clicked button $('.select-button-line').removeClass('btn-success').addClass('btn-dark'); $('#' + selectButtonLineID).removeClass('btn-dark').addClass('btn-success'); // Search $('#general-search-button').click(); } //============================================================================= // Get data - search //============================================================================= function searchPage( input_WEBNAM, input_goto, input_button_number, input_totalPages ) { if ( input_totalPages > 0 ) { $('#input-myTotalPages').val( input_totalPages ); } $('#input-myBuildPageButtonsFirstTime').val('N'); getDataPrompter( input_WEBNAM, input_goto, input_button_number) createPaginationButtons(); $('#page-prev-button').addClass('d-none'); $('#input-saveMyCurrentPageCounter').val( 1 ); } //============================================================================= // Get data - first page //============================================================================= function firstPage( input_WEBNAM, input_goto, input_button_number, input_totalPages ) { if ( input_totalPages > 0 ) { $('#input-myTotalPages').val( input_totalPages ); } $('#input-myBuildPageButtonsFirstTime').val('N'); getDataPrompter( input_WEBNAM, input_goto, input_button_number) createPaginationButtons(); $('#page-prev-button').addClass('d-none'); $('#input-saveMyCurrentPageCounter').val( 1 ); } //============================================================================= // Get data - last page //============================================================================= function lastPage( input_WEBNAM, input_goto, input_button_number, input_totalPages ) { var myTotalPages = $('#input-myTotalPages').val(); var input_WEBNAM = ''; var input_totalPages = myTotalPages; var input_goto = myTotalPages; //console.log('Last page: ' + input_goto + ' ' + GLOBAL_TOTALPAGESSTOPVALUE + ' ' + almostLastPage ); $('#page-prev-button').removeClass('d-none'); $('#page-next-button').addClass('d-none'); var almostLastPage = parseInt(input_totalPages) - parseInt(GLOBAL_TOTALPAGESSTOPVALUE ); input_WEBNAM = ''; input_goto = almostLastPage; input_button_number = 1; $('#input-myCurrentPageCounter').val( GLOBAL_TOTALPAGESSTOPVALUE ); $('#input-myPageGoTo').val( almostLastPage ); $('#input-saveMyCurrentPageCounter').val( almostLastPage ); $('#input-saveMyDirection').val(''); // Mark last page createPaginationButtons(); // Set some fields just in case... $('#select-page-button-id-' + myTotalPages ).addClass('badge-success').removeClass('badge-dark'); $('#input-myCurrentPageCounter').val( GLOBAL_TOTALPAGESSTOPVALUE ); $('#input-myPageGoTo').val( almostLastPage ); $('#input-saveMyCurrentPageCounter').val( almostLastPage ); // Get data $('#select-page-button-id-' + input_totalPages ).click(); // Hide next button $('#page-next-button').addClass('d-none'); } //============================================================================= // Reason addd //============================================================================= function dataAdd ( input_pk_type ) { $('#input-mode').val('*add'); $('#modal-input-ACTIVE').val('Y'); // Active $('#modal-input-CFGNAM').val(''); // DATA-HUB cfg name $('#modal-input-CFGTYP').val(''); // DATA-HUB cfg type $('#modal-input-CFGDSC').val(''); // Config description $('#modal-input-CFGVAL').val(''); // DATA-HUB cfg value $('#modal-input-CFGDAT').val(''); // Create date $('#modal-input-CFGTIM').val(''); // Create time // Reset save field(s) //save_CFGNAM = ''; // Set active - default YES $('#button-deleted-yes').removeClass('btn-primary').addClass('btn-success'); $('#button-deleted-no').removeClass('btn-success').addClass('btn-primary'); // Reset modal message resetModalMessage(); // Remove key fields readonly $('#modal-input-CFGNAM').removeAttr('readonly','readonly'); $('#data-result-button-lines-modal').removeClass('d-none'); // Show modal $('#trn_MaintainModal').modal('show'); $('#trn_MaintainModal').on('shown.bs.modal', function () { //$('#modal-input-WZLIN').trigger('focus'); $('#modal-input-CFGNAM').trigger('focus'); }) } //============================================================================= // Reason change //============================================================================= function dataChange( input_counter ) { $('#input-mode').val('*update'); // Find the correct data $.each( jsonDataSave.detail, function( index, object ){ // Get the key var counter = object.counter; // Data found if ( input_counter == counter ) { // Save in fields var WEBNAM = object.HUB_WEBNAM; var PACKNO = object.HUB_PACKNO; var PRODID = object.HUB_PRODID; var STRCAL = object.HUB_STRCAL; var ENDCAL = object.HUB_ENDCAL; var SECOND = object.HUB_SECOND; var MSECND = object.HUB_MSECND; var INPTXT = object.HUB_INPTXT; var RPYCOD = object.HUB_RPYCOD; var RPYTXT = object.HUB_RPYTXT; var TIMSTP = object.HUB_TIMSTP; var counter = object.counter; // Move to input fields $('#modal-input-counter').val(counter); // counter (used as id) $('#modal-input-HUB_TIMSTP').val(TIMSTP); // timestamp $('#modal-input-HUB_PACKNO').val(PACKNO); // Package no $('#modal-input-HUB_PRODID').val(PRODID); // Prod id $('#modal-input-HUB_STRCAL').val(STRCAL); // Start call $('#modal-input-HUB_ENDCAL').val(ENDCAL); // End call $('#modal-input-HUB_SECOND').val(SECOND); // Call time sec $('#modal-input-HUB_MSECND').val(MSECND); // Call time millisec $('#modal-input-HUB_INPTXT').val(INPTXT); // Input text $('#modal-input-HUB_RPYCOD').val(RPYCOD); // Reply code $('#modal-input-HUB_RPYTXT').val(RPYTXT); // Reply text // Format PRODID //let WZPID_pretty = formatPRODID( WZPID ); //$('#modal-input-WZPID-pretty').val(WZPID_pretty); // Save orginal name //save_CFGNAM = CFGNAM; // Make key fields readonly $('#modal-input-HUB_INPTXT').attr('readonly','readonly'); $('#data-result-button-lines-modal').addClass('d-none'); $('.read-only-class').attr('readonly','readonly'); } }) // Reset modal message resetModalMessage(); // Show modal $('#trn_MaintainModal').modal('show'); $('#trn_MaintainModal').on('shown.bs.modal', function () { //$('#modal-input-WZSEQ').trigger('focus'); //myWZDON = myGlobalRowData[7]; //setWZDON_button( myWZDON ); }) } //============================================================================= // Delete confirm //============================================================================= function dataDeleteConfirm( input_CFGNAM ) { $('#input-mode').val('*delete'); $('#confirm-delete-HUB_CFGNAM').val(input_CFGNAM); // Create confirm text $('#confirm-delete-text-CFGNAM').html(input_CFGNAM); // Find the correct data $.each( jsonDataSave.detail, function( index, object ){ // Get the key var CFGNAM = object.HUB_CFGNAM; // Data found if ( input_CFGNAM == CFGNAM ) { $('#config_confirmDeleteModal').modal('show'); } }) } //============================================================================= // Toggle Delete Reason //============================================================================= function toggleDelete() { $('#icon-modal-input-active').removeClass('text-success text-danger'); var active = $('#modal-input-active').val(); // active? if ( active == 'Y' ) { $('#modal-input-active').val( 'N' ); $('#icon-modal-input-active').html('<i class="far fa-2x fa-check-square"></i>').addClass('text-danger'); } else { $('#modal-input-active').val( 'Y' ); $('#icon-modal-input-active').html('<i class="far fa-2x fa-square"></i>'); } } //============================================================================= // Save //============================================================================= function dataSave() { // Reset modal message resetModalMessage(); // Check content of fields if ( $('#modal-input-CFGNAM').val() == '' ) { $('#modal-message').addClass('border-bottom').html( '<?php echo $datahub_error0023 ?>' ); $('#modal-save-button').addClass('disabled').prop("disabled", true); $('#modal-input-CFGNAM').focus(); return false; } if ( $('#modal-input-CFGTYP').val() == '' ) { $('#modal-message').addClass('border-bottom').html( '<?php echo $datahub_error0023 ?>' ); $('#modal-save-button').addClass('disabled').prop("disabled", true); $('#modal-input-CFGTYP').focus(); return false; } if ( $('#modal-input-CFGDSC').val() == '' ) { $('#modal-message').addClass(' border-bottom').html( '<?php echo $datahub_error0019 ?>' ); $('#modal-save-button').addClass('disabled').prop("disabled", true); $('#modal-input-CFGDSC').focus(); return false; } if ( $('#modal-input-CFGVAL').val() == '' ) { $('#modal-message').addClass(' border-bottom').html( '<?php echo $datahub_error0019 ?>' ); $('#modal-save-button').addClass('disabled').prop("disabled", true); $('#modal-input-CFGVAL').focus(); return false; } var mode = $('#input-mode').val(); //=============================================================================== // Remove # if any //=============================================================================== // Setup remove string let mySaveString; var myWorkField = $('#modal-input-CFGNAM').val(); mySaveString = myWorkField; myWorkField = cleanInputString( myWorkField ); $('#modal-input-CFGNAM').val( myWorkField ); var myWorkField = $('#modal-input-CFGDSC').val(); myWorkField = myWorkField.replace("#", ""); $('#modal-input-CFGDSC').val( myWorkField ); //=============================================================================== // Make sure key does not have space and are in uppercase var myWorkField = $('#modal-input-CFGNAM').val(); myWorkField = myWorkField.replace(" ", "_"); myWorkField = myWorkField.toUpperCase(); $('#modal-input-CFGNAM').val( myWorkField ); var myWorkField = $('#modal-input-CFGTYP').val(); myWorkField = myWorkField.toUpperCase(); $('#modal-input-CFGTYP').val( myWorkField ); // Check if date is correct formatted var dateCheck = $('#modal-input-CFGDAT').val(); if (dateCheck == "0001-01-01" || dateCheck == "") { $('#modal-input-CFGDAT').val( moment().format('YYYY-MM-DD') ); $('#modal-input-CFGTIM').val( moment().format('HH.mm.ss') ); } // Make array and json var myData = $('#dataForm').find('input, select, textarea').serializeArray(); var result = JSON.stringify(myData); // console.log(result); // console.log(myData); // return; var parmData = 'data=' + result + '&mode=' + mode ; $.ajax({ url: "hub_config_maintain_save.php", type: "POST", data: parmData, dataType: "json", cache: false, }) .done(function( jsonData ) { //================================================================= // START - Update the table without doing a server reload //================================================================= event.preventDefault(); // Get some input data from the modal window // var modal_input_CFGNAM = $('#modal-input-CFGNAM').val(); // var modal_input_CFGTYP = $('#modal-input-CFGTYP').val(); // var modal_input_CFGDSC = $('#modal-input-CFGDSC').val(); // var modal_input_CFGVAL = $('#modal-input-CFGVAL').val(); // Debug // console.log(myGlobalRowData[5]); // console.log(myGlobalRowData[6]); // console.log(myCurrentRow); // console.log(myGlobalTableData); // Get the data for the "Change/Delete button", so we do not need to create it again // myChangeButtonData = myGlobalRowData[4]; // myDeleteButtonData = myGlobalRowData[5]; // Set the "look" for the fields to update //if ( modal_input_WZDON == 'Y' ) { // var WZDON_text = '<div class="text-success font-weight-bold"><?php echo $datahub_YES ?></div>'; //} else { // var WZDON_text = '<div class="text-primary font-weight-bold"><?php echo $datahub_NO ?></div>'; //} //============================================== // Use this if you want to update the whole row //============================================== // myGlobalTableData.row(myCurrentRow).data([ modal_input_CFGNAM, // modal_input_CFGTYP, // modal_input_CFGDSC, // modal_input_CFGVAL, // myChangeButtonData, // myDeleteButtonData // ]) // .draw(false) // ; //======================================================= // Use this if you want to update one or more table cells //======================================================= //myGlobalTableData.cell(myCurrentRow, 4).data( WZDON_text ) //myGlobalTableData.cell(myCurrentRow, 7).data( modal_input_WZDON ) ////table.cell(myCurrentRow, 1).data( myGlobalRowData[5] ) //.draw(false); //================================================================= // END - Update the table without doing a server reload //================================================================= //================================================================= // Close the modal //================================================================= $('#trn_MaintainModal').modal('hide'); //================================================================= // Remove this if you want to reload the table from the server //================================================================= //getDataPrompter('','0',''); }) .always(function( jsonData ) { }) .fail(function( xhr, ajaxOptions, thrownError ) { console.log('I am failed..'); console.log( thrownError ); console.log( xhr ); }); } //============================================================================= // Delete //============================================================================= function dataDeleteExec() { // Reset modal message resetModalMessage(); var mode = $('#input-mode').val(); // Make array and json var myData = $('#dataForm-delete').find('input, select').serializeArray(); var result = JSON.stringify(myData); // console.log(result); // console.log(myData); //return; var parmData = 'data=' + result + '&mode=' + mode ; $.ajax({ url: "hub_config_maintain_save.php", type: "POST", data: parmData, dataType: "json", cache: false, }) .done(function( jsonData ) { $('#config_confirmDeleteModal').modal('hide'); getDataPrompter('','0',''); }) .always(function( jsonData ) { }) .fail(function( xhr, ajaxOptions, thrownError ) { console.log('I am failed..'); console.log( xhr ); }); } //============================================================================= // Check if userid exists //============================================================================= function checkDataExists() { var WZPID = $('#modal-input-WZPID').val(); // If update, then the "orginal" code is ok if ( $('#input-mode').val() == '*update' ) { if ( WZPID == save_WZPID ) { return; } } var parmData = 'prdno=' + WZPID ; $.ajax({ url: "hub_wa0357_maintain_get.php", type: "GET", data: parmData, dataType: "json", cache: false, }) .done(function( jsonData ) { var returnCode = jsonData.header.returnCode; var returnMsg = jsonData.header.returnMsg; var entries_found = jsonData.header.entries_found; if ( returnCode == '50') { $('#modal-message').addClass(' border-bottom').html( '<?php echo $datahub_error0080 ?>' ); $('#modal-save-button').addClass('disabled').prop("disabled", true); $('#modal-input-WZPID').focus(); $('#modal-input-WZSEQ').val( '' ); return false; } else { DESCP = jsonData.detail[0].DESCP $('#modal-input-WZSEQ').val( DESCP ); } // Reset modal message resetModalMessage(); }) .always(function( jsonData ) { }) .fail(function( xhr, ajaxOptions, thrownError ) { console.log('I am failed..'); console.log( xhr ); }); } //============================================================================= // Set Sort Button (ASC/DESC) //============================================================================= function setSortButton( sortMode ) { if ( sortMode == 'ASC' ) { $('#button-sort-asc').removeClass('btn-primary').addClass('btn-success'); $('#button-sort-desc').removeClass('btn-success').addClass('btn-primary'); } else { $('#button-sort-asc').removeClass('btn-success').addClass('btn-primary'); $('#button-sort-desc').removeClass('btn-primary').addClass('btn-success'); } $('#input-timesort').val(sortMode); } //============================================================================= // Set example data //============================================================================= function setExampleData( ) { } //============================================================================= // Show deleted //============================================================================= function showDeleted() { var show_deleted = $('#input-show-deleted').val(); if ( show_deleted == 'Y' ) { $('#button-show-deleted').html('<?php echo $datahub_NO ?>'); $('#input-show-deleted').val('N'); } else { $('#button-show-deleted').html('<?php echo $datahub_YES ?>'); $('#input-show-deleted').val('Y'); } getDataPrompter('','0',''); } //============================================================================= // Log off //============================================================================= function signoff() { window.location.href = "logout.php"; } //============================================================================= // Load page //============================================================================= function loadPage(url, p1, p2, p3) { window.location.href = url; } //============================================================================= // Reset modal message //============================================================================= function resetModalMessage() { // Reset //$('#modal-message').removeClass('p-2 font-weight-bold border border-danger rounded bg-light').html( '&nbsp;' ); $('#modal-message').removeClass('border-bottom').html( '&nbsp;' ); $('#modal-save-button').removeClass('disabled').prop("disabled", false); } //============================================================================= // Set hidden input colors //============================================================================= function setInputColorsToHiddenControlFields( myID, myColor ) { if ( myID == 'modal-input-M1COL' ) { $('#input-current-text-color').val( myColor ); } } //============================================================================= // Clean input string //============================================================================= function cleanInputString( myWorkField ) { let charactersToRemove = '?#"\''; let myPattern = new RegExp('[' + charactersToRemove + ']', 'g'); myWorkField = myWorkField.replace(myPattern,''); return myWorkField; } //============================================================================= // Show MOA style example //============================================================================= function showMOAstyleExample() { if ( $('#show-example-wrapper').hasClass('d-none') ) { $('#show-example-wrapper').removeClass('d-none'); $('#button-moa-style-example').html('<?php echo $datahub_text0051 ?>') } else { $('#show-example-wrapper').addClass('d-none'); $('#button-moa-style-example').html('<?php echo $datahub_text0050 ?>') } } //============================================================================= // Show IFS track //============================================================================= function showIFStrack( pPRODID, pPRODID_pretty, pTIMSTP ) { alert(pPRODID + ' ' + pPRODID_pretty + ' ' + pTIMSTP); } //============================================================================= // Set RES2A button - Use full screen //============================================================================= function setRES2AButton( activeMode ) { } //============================================================================= // Set RES1A button - Use full screen //============================================================================= function setRES1AButton( activeMode ) { } //============================================================================= // Select line modal //============================================================================= function selectLineModal( inputLine ) { $('#modal-input-PRDNO').val( inputLine ); var selectButtonLineID = 'select-button-line-id-modal-' + inputLine; $('.select-button-line-modal').removeClass('btn-success').addClass('btn-primary'); $('#' + selectButtonLineID).removeClass('btn-primary').addClass('btn-success'); resetModalMessage(); } //============================================================================= // Reset line modal //============================================================================= function resetLineModal() { resetModalMessage() let inputLine = $('#modal-input-PRDNO').val(); if ( inputLine == '' ) { $('.select-button-line-modal').removeClass('btn-success').addClass('btn-primary'); } } //============================================================================= // Set action type //============================================================================= function setActionType( inputType ) { outputType = ''; if ( inputType == '*PDF' ) { outputType = '1'; } if ( inputType == '*PIC' ) { outputType = '2'; } if ( inputType == '*SCAN' ) { outputType = '3'; } if ( inputType == '*MOVIE' ) { outputType = '4'; } if ( inputType == '*LINK' ) { outputType = '5'; } if ( inputType == '*CHECK' ) { outputType = '6'; } return outputType; } //============================================================================= // Open previewer //============================================================================= function preViewElement( myElement ) { let h = $(window).height(); let w = $(window).width(); console.log('h: ' + h + ' -- ' + 'w: ' + w); h = h * 0.75; console.log('h: ' + h + ' -- ' + 'w: ' + w); // Create ID let myID = '#' + myElement; let myURL = $( myID ).val(); let myIFRAME = '<iframe style="height:' + h + 'px;width:100%;" src=' + myURL +'></iframe>'; // Set iframe $('#modal-preview-iframe').html( myIFRAME ); // Show modal $('#wa0361_previewModal').modal('show'); } //============================================================================= // Format prodid //============================================================================= function formatPRODID( input_PRODID ) { // Ensure the input is a string let str = input_PRODID.toString(); // Insert hyphens at specific positions let formattedStr = str.slice(0, 5) + '-' + str.slice(5, 15) + '-' + str.slice(15); return formattedStr; } //============================================================================= // Set WZDON button //============================================================================= function setWZDON_button( activeMode ) { if ( activeMode == 'Y' ) { $('#button-WZDON-yes').removeClass('btn-primary').addClass('btn-success'); $('#button-WZDON-no').removeClass('btn-success').addClass('btn-primary'); } else { $('#button-WZDON-yes').removeClass('btn-success').addClass('btn-primary'); $('#button-WZDON-no').removeClass('btn-primary').addClass('btn-success'); } $('#modal-input-WZDON').val(activeMode ); } //============================================================================= // Full screen popup //============================================================================= function popUpFull( url, p1, p2, p3 ) { var winname = 'win_' + url; params = 'width='+screen.width; params += ', height='+screen.height; params += ', top=0, left=0' params += ', fullscreen=yes'; params += ',scrollbars=1'; overview_win = window.open(url,winname, params); if (window.focus) {overview_win.focus()} return false; } //============================================================================= // screen popup - center //============================================================================= function popUpCenter(url, p1, p2, p3) { var v1_w = screen.availWidth; var v1_h = screen.availHeight; if ( parseInt(v1_w) > 1800 ) { v1_w = 1800; v1_h = v1_h - 200; v1_center = v1_w/0.8; } // Center popup as good as possible var left = (screen.width - v1_w) / 2; var top = (screen.height - v1_h) / 4; var winname = 'win_' + url; params = 'width='+v1_w; params += ', height='+v1_h; params += ', top=' + top + ', left=' + left; params += ', fullscreen=yes'; params += ',scrollbars=1'; overview_win = window.open(url,winname, params); if (window.focus) {overview_win.focus()} return false; } //============================================================================= // screen popup - center - bigger //============================================================================= function popUpCenterBig(url, p1, p2, p3) { var v1_w = screen.availWidth; var v1_h = screen.availHeight; // Get 25% v1_w_pct = v1_w * 0.25; v1_w_new = v1_w - v1_w_pct; if ( v1_w_new < 1 ) { v1_w_new = 1800; } v1_w = v1_w_new; v1_h = v1_h - 200; v1_center = v1_w/0.8; // Center popup as good as possible var left = (screen.width - v1_w) / 2; var top = (screen.height - v1_h) / 4; var winname = 'win_' + url; params = 'width='+v1_w; params += ', height='+v1_h; params += ', top=' + top + ', left=' + left; params += ', fullscreen=yes'; params += ',scrollbars=1'; overview_win = window.open(url,winname, params); if (window.focus) {overview_win.focus()} return false; } //============================================================================= // Popup top //============================================================================= function popUpTop(url, p1, p2, p3) { var winname = 'win_' + url; w = 650; h = 750; params = 'width='+w; params += ', height='+h; params += ', top=0, left=0' params += ', fullscreen=no'; params += ',scrollbars=1'; overview_win = window.open(url,winname, params); if (window.focus) {overview_win.focus()} return false; } //============================================================================= // Set clock //============================================================================= function updateClock() { var currentTime = moment().format('YYYY-MM-DD HH:mm:ss'); currentTime = REEFT_format_date( currentTime, DFT_DATE_DISPLAY_FORMAT ) $('#current-time').html( currentTime ); } //============================================================================= // jQuery - Ready //============================================================================= $(document).ready(function() { // Do not show deleted $('#input-show-deleted').val('Y'); $('#input-myBuildPageButtonsFirstTime').val('N'); $('#input-myPageGoTo').val( 1 ); $('#input-myCurrentPageCounter').val( 0 ); $('#page-prv-button').addClass('d-none'); $('#page-next-button').addClass('d-none'); // Set timesort fields if ( GLOBAL_SORTMODE == 'ASC' ) { setSortButton('ASC'); } else { setSortButton('DESC'); } // Set to input fields $('#input-WEBNAM').val( '<?php echo $input_WEBNAM ?>' ); // Get data getDataPrompter('','0',''); //----------------------------------------------------------------------- // Start the clock //----------------------------------------------------------------------- updateClock(); setInterval(function() { updateClock(); }, 1000); //----------------------------------------------------------------------- //----------------------------------------------------------------------- // Set font awesome icon type //----------------------------------------------------------------------- // Value is from config/config.php var iconType = '<?php echo $DFT_SET_FONT_AWESOME_ICON_TYPE ?>'; setFontAwesomeIconType( iconType ); //----------------------------------------------------------------------- //----------------------------------------------------------------------- // Delay keyup checker //----------------------------------------------------------------------- var delay = (function () { var timer = 0; return function (callback, ms) { clearTimeout(timer); timer = setTimeout(callback, ms); }; })() let $filter01 = $('#modal-input-WZPID'); $filter01.on('keyup', function () { delay(function () { var inputValue = $('#modal-input-WZPID').val(); if ( inputValue != '') { console.log('this will hit, once user has not typed for 1 second ' + inputValue ); checkDataExists(); } }, 0800); }); //----------------------------------------------------------------------- // Set short cuts //----------------------------------------------------------------------- // If add d-none class, do not add shortcut if ( GLOBAL_ADD_ALLOWED == 'Y' ) { shortcut.add("Alt+F6",function() { $('#add-button').click(); }); } // Shift + Esc = close window shortcut.add("Shift+Esc",function() { $('#button-close-window').click(); }); //========================================================================================================= // Set color picker - TEXT // // Create HEX value (https://en.wikipedia.org/wiki/Web_colors) // var hexValueColor = color.toHexString(); // // Create RGB (https://en.wikipedia.org/wiki/RGB_color_model) // hexcolor = hexcolor.replace("#", ""); // var r = parseInt(hexcolor.substr(0,2),16); // var g = parseInt(hexcolor.substr(2,2),16); // var b = parseInt(hexcolor.substr(4,2),16); // var yiq = ((r*299)+(g*587)+(b*114))/1000; // // // Create YIQ (https://en.wikipedia.org/wiki/YIQ) // if ( yiq >= 128) { // var textColor = 'black'; // } else { // var textColor = 'white'; // } // // console.log('change: ' + hexcolor + ' ' + hexValueColor + ' ' + yiq + ' ' + r + ' ' + g + ' ' + b ); // //========================================================================================================= $(".text-color-palette").spectrum({ showInitial: true, showInput: true, chooseText: "Vælg farve", cancelText: "Annuller", preferredFormat: "hex", color: "#000", showPalette: true, flat: false, palette: [ ["#000","#444","#666","#999","#ccc","#eee","#f3f3f3","#fff"], ["#f00","#f90","#ff0","#0f0","#0ff","#00f","#90f","#f0f"], ["#f4cccc","#fce5cd","#fff2cc","#d9ead3","#d0e0e3","#cfe2f3","#d9d2e9","#ead1dc"], ["#ea9999","#f9cb9c","#ffe599","#b6d7a8","#a2c4c9","#9fc5e8","#b4a7d6","#d5a6bd"], ["#e06666","#f6b26b","#ffd966","#93c47d","#76a5af","#6fa8dc","#8e7cc3","#c27ba0"], ["#c00","#e69138","#f1c232","#6aa84f","#45818e","#3d85c6","#674ea7","#a64d79"], ["#900","#b45f06","#bf9000","#38761d","#134f5c","#0b5394","#351c75","#741b47"], ["#600","#783f04","#7f6000","#274e13","#0c343d","#073763","#20124d","#4c1130"] ], // Called as the original input changes. Only happens when the input is closed or the 'Choose' button is clicked. change: function(color) { // Get hex color var hexValueColor = color.toHexString(); setInputColorsToHiddenControlFields( this.id, hexValueColor ); setExampleData(); }, move: function(color) { // Get hex color var hexValueColor = color.toHexString(); setInputColorsToHiddenControlFields( this.id, hexValueColor ); setExampleData(); }, show: function(color) { $('#input-current-color-picker').val( this.id ); // Get hex color var hexValueColor = color.toHexString(); setInputColorsToHiddenControlFields( this.id, hexValueColor ); setExampleData(); }, hide: function(color) { // Get hex color var hexValueColor = color.toHexString(); setInputColorsToHiddenControlFields( this.id, hexValueColor ); setExampleData(); } }); // Make sure scroll is active when closeing the previevwer $('#wa0361_previewModal').on("hidden.bs.modal", function (e) { //fire on closing modal box if ($('.modal:visible').length) { // check whether parent modal is opend after child modal close $('body').addClass('modal-open'); // if open mean length is 1 then add a bootstrap css class to body of the page // Remove iframe data... $('#modal-preview-iframe').html(''); } }); }); // --> </script> </head> <body> <div class="container-fluid mt-2 pl-3 pr-3"> <input type="text" class="Xd-none" id="input-WEBNAM"> <input type="text" class="d-none" id="input-mode" > <input type="text" class="d-none" id="input-show-deleted" > <input type="text" class="d-noneX" id="input-search-line"> <input type="text" class="d-noneX" id="input-filter-line"> <input type="text" class="d-none" id="input-show-next-prodid"> <input type="text" class="d-none" id="input-myPageGoTo"> <input type="text" class="d-none" id="input-myCurrentPageCounter"> <input type="text" class="d-none" id="input-saveMyCurrentPageCounter"> <input type="text" class="d-none" id="input-saveMyDirection"> <input type="text" class="d-none" id="input-myOffSet"> <input type="text" class="d-none" id="input-myTotalRecordsFound"> <input type="text" class="d-none" id="input-myTotalPages"> <input type="text" class="d-none" id="input-myPageSize"> <input type="text" class="d-none" id="input-myBuildPageButtonsFirstTime"> <div class="row"> <div class="col-2"> <img src="images/customer-logo.png" alt="Customer Logo"> </div> <div class="col-8 text-center <?php echo $DFT_CLOCK_SIZE ?>"> <i class="font-awesome-pseudo-class fa-thin fa-clock"></i>&nbsp;&nbsp;<span id="current-time"><?php echo date('d-m-Y h:i:s') ?></span> </div> <div class="col-2 text-right d-noneX"> <div class="btn btn-primary mb-1" id="button-close-window" onclick="window.close()" title="<?php echo $datahub_go_to_my_dear_home ?>"><i class="font-awesome-pseudo-class fa-2x fa-thin fa-xmark"></i></div> <div class="d-none"> <div class="btn btn-primary mb-1" onclick="loadPage('menu_admin.php','','','')" title="<?php echo $datahub_go_to_my_dear_home ?>"><i class="font-awesome-pseudo-class fa-2x fa-thin fa-home"></i></div> <div class="btn btn-primary mb-1 d-none d-xl-inline-block" onclick="loadPage('menu_main.php','','','')" title="<?php echo $datahub_go_to_my_dear_home_03 ?>"><i class="font-awesome-pseudo-class fa-2x fa-thin fa-fort"></i></div> <div class="btn btn-danger mb-1 d-none d-lg-inline-block" onclick="signoff()" title="<?php echo $datahub_go_to_my_dear_home_02 ?>"><i class="font-awesome-pseudo-class fa-thin fa-2x fa-right-from-bracket"></i></div> </div> </div> </div> <div class="card mt-2"> <div class="card-header text-muted"> <div class="row mt-2"> <div class="col-4 h4"> <i class="font-awesome-pseudo-class fa-thin fa-store"></i> <?php echo "$datahub_text0126"; ?> </div> <div class="col text-right font-weight-bold"> <button type="button" class="d-none btn btn-dark" id="button-toggle-show-deleted" title="Alt+F2=Toggle" onclick="showDeleted()"><?php echo $datahub_button_show_also_deleted ?> : <span id="button-show-deleted" class="font-weight-bold"><?php echo $datahub_YES ?></span></button> <div class="row"> <div class="col-10 text-right"> </div> <div class="col text-right"> <?php echo $datahub_text0059 ?> <span id="text-current-page">...</span> <?php echo $datahub_text0060 ?> <span id="text-total-pages">...</span> </div> </div> <div class="row"> <div class="col-10 text-right"> </div> <div class="col text-right"> <?php echo $datahub_text0061 ?> : <span id="text-total-records-found">...</span> </div> </div> </div> </div> </div> <div class="card-body"> <!-- Message if screen is not wide enough --> <div class="container-fluid mt-2 mb-4 d-block d-lg-none"> <div id="general-message-top" class="border border-danger rounded p-2 text-danger font-weight-boldx"><?php echo $datahub_error0040a ?></div> </div> <!-- Message if screen is not wide enough --> <!-- Lines found --> <div class="row mb-4"> <div class="col-10"> <div id="data-result-button-lines"></div> </div> <div class="col-2 text-right"> </div> </div> <div class="row mb-4"> <div class="col-1"> <?php echo $datahub_text0121 ?> </div> <div class="col-3"> <div class="form-row"> <div class="col-5"> <input id="input-fromdate" type="date" class="form-control rounded"> </div> <div class="col-1 text-center"> / </div> <div class="col-3"> <input id="input-fromtime" type="time" class="form-control rounded"> </div> </div> </div> <div class="col-1"> <?php echo $datahub_text0122 ?> </div> <div class="col-3"> <div class="form-row"> <div class="col-5"> <input id="input-todate" type="date" class="form-control rounded"> </div> <div class="col-1 text-center"> / </div> <div class="col-3"> <input id="input-totime" type="time" class="form-control rounded"> </div> </div> </div> <div class="col-1"> <?php echo $datahub_text0123 ?> </div> <div class="col-2"> <button type="button" class="btn btn-primary" onclick="setSortButton('ASC')" id="button-sort-asc"><?php echo $datahub_text0124 ?></button> <button type="button" class="btn btn-primary" onclick="setSortButton('DESC')" id="button-sort-desc"><?php echo $datahub_text0125 ?></button> <input class="d-none form-control" type="text" onkeyup="resetModalMessage()" id="input-timesort" name="input-timesort"> </div> </div> <div class="row mb-4"> <div class="col-2"> <input class="form-control" type="text" id="input-search-arg" placeholder="Search <?php echo $datahub_text0127 ?>"> </div> <div class="col-2"> </div> <div class="col-2 text-right"> <button type="button" class="btn btn-primary mb-1" id="general-search-button" onclick="searchPage('','0')"><?php echo $datahub_button_get_data_icon2 ?></button> <button type="button" class="btn btn-primary mb-1" id="general-reset-button" onclick="getDataPrompter('*RESET','0','')"><?php echo $datahub_button_order_reset01_icon ?></button> </div> <div class="col-6 text-right"> <button type="button" class="badge badge-dark p-2" id="page-prev-button" style="cursor:default" onclick="scrollPagePrev('*PREV')"><?php echo $datahub_text0078 ?></button> <button type="button" class="badge badge-dark p-2" id="page-next-button" style="cursor:default" onclick="scrollPageNext('*NEXT')"><?php echo $datahub_text0079 ?></button> <span id="data-result-pagination-button"></span> </div> </div> <div class="row"> <div class="col"> <div id="data-result"></div> </div> </div> <div class="row"> <div class="col text-right"> <small><div id="load-time-from-database"></div></small> </div> </div> </div> </div> </div> <!-- Set footer --> <?php include "include/footer.php"; ?> <!-- Set footer --> <!-- ========================================================================== --> <!-- M O D A L S --> <!-- ========================================================================== --> <!-- Modal --> <div class="modal fade" id="trn_MaintainModal" tabindex="-1" data-backdrop="static" role="dialog" aria-labelledby="trn_MaintainModalLabel" aria-hidden="true"> <div class="modal-dialog modal-xxl"> <div class="modal-content"> <div class="modal-header bg-primary text-white"> <div class="container-fluid pl-0 pr-0"> <div class="row"> <div class="col-8"> <h5 class="modal-title" id="trn_MaintainModalLabel"><i class="font-awesome-pseudo-class fa-thin fa-store"></i> <?php echo $datahub_text0126 ?></h5> </div> <div class="col text-right"> </div> <div class="col-1 text-right" style="max-width:20px"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> </div> </div> </div> <div class="modal-body ml-2 mr-2"> <input type="text" class="d-none" id="input-current-color-picker"> <input type="text" class="d-none" id="input-current-text-color"> <input type="text" class="d-none" id="input-current-background-color"> <!-- Message if screen is not wide enough --> <div class="container-fluid mt-2 mb-4 d-block d-lg-none"> <div id="general-message-top" class="border border-danger rounded p-2 text-danger font-weight-boldx"><?php echo $datahub_error0040a ?></div> </div> <!-- Message if screen is not wide enough --> <form name="dataForm" id="dataForm"> <!-- Hidden fields start --> <input type="text" class="d-none" id="modal-input-counter" name="modal-input-counter"> <!-- Hidden fields end --> <div class="row mt-2"> <div class="col-7"> <div id="data-result-button-lines-modal"></div> </div> </div> <div class="row mt-2"> <div class="col-2"> <?php echo $datahub_text0117 ?> </div> <div class="col-4"> <input class="form-control read-only-class" type="text" id="modal-input-HUB_TIMSTP" name="modal-input-HUB_TIMSTP" onkeyup="resetModalMessage(), resetLineModal();"> </div> </div> <div class="row mt-2"> <div class="col-2"> <?php echo $datahub_text0133 ?> </div> <div class="col-4"> <input class="form-control read-only-class" type="text" id="modal-input-HUB_PACKNO" name="modal-input-HUB_PACKNO" onkeyup="resetModalMessage(), resetLineModal();"> </div> </div> <div class="row mt-2"> <div class="col-2"> <?php echo $datahub_text0133 ?> </div> <div class="col-4"> <input class="form-control read-only-class" type="text" id="modal-input-HUB_PRODID" name="modal-input-HUB_PRODID" onkeyup="resetModalMessage(), resetLineModal();"> </div> </div> <div class="row mt-2"> <div class="col-2"> <?php echo $datahub_text0130 ?> </div> <div class="col-4"> <input class="form-control read-only-class" type="text" onkeyup="resetModalMessage()" id="modal-input-HUB_STRCAL" name="modal-input-HUB_STRCAL" maxlength="1"> </div> <div class="col-2"> <?php echo $datahub_text0131 ?> </div> <div class="col-4"> <input class="form-control read-only-class" type="text" onkeyup="resetModalMessage()" id="modal-input-HUB_ENDCAL" name="modal-input-HUB_ENDCAL"> </div> </div> <div class="row mt-2 text-dark"> <div class="col-2"></div> <div class="col-2" style="font-size:14px"> <?php echo $datahub_sec ?> </div> <div class="col-2" style="font-size:14px"> <?php echo $datahub_millisec ?> </div> </div> <div class="row mt-2"> <div class="col-2"> <?php echo $datahub_text0132 ?> </div> <div class="col-2"> <input class="form-control read-only-class" type="text" onkeyup="resetModalMessage()" id="modal-input-HUB_SECOND" name="modal-input-HUB_SECOND" maxlength="1"> </div> <div class="col-2"> <input class="form-control read-only-class" type="text" onkeyup="resetModalMessage()" id="modal-input-HUB_MSECND" name="modal-input-HUB_MSECND" maxlength="1"> </div> </div> <div class="row mt-2"> <div class="col-2"> <?php echo $datahub_text0127 ?> </div> <div class="col-10"> <textarea class="form-control read-only-class" id="modal-input-HUB_INPTXT" name="modal-input-HUB_INPTXT" rows="5" onkeyup="resetModalMessage()"></textarea> </div> </div> <div class="row mt-2"> <div class="col-2"> <?php echo $datahub_text0128 ?> </div> <div class="col-4"> <input class="form-control read-only-class" type="text" id="modal-input-HUB_RPYCOD" name="modal-input-HUB_RPYCOD" onkeyup="resetModalMessage(), resetLineModal();"> </div> </div> <div class="row mt-2"> <div class="col-2"> <?php echo $datahub_text0129 ?> </div> <div class="col-10"> <textarea class="form-control read-only-class" id="modal-input-HUB_RPYTXT" name="modal-input-HUB_RPYTXT" rows="5" onkeyup="resetModalMessage()"></textarea> </div> </div> </form> </div> <div class="modal-footer-pretty modal-footer"> <div class="container-fluid"> <div class="row"> <div class="col-12 text-left"> <div class="p-1 font-weight-bold text-danger border-top border-dark " id="modal-message">&nbsp;</div> </div> </div> <div class="row mt-1 mb-2"> <div class="col-3 text-left"> <button type="button" id="modal-save-button" class="btn btn-primary btn-block d-none" onclick="dataSave()"><?php echo $datahub_button_save ?></button> </div> <div class="col-6 text-right"> </div> <div class="col-3 text-right"> <button type="button" class="btn btn-primary btn-block" data-dismiss="modal"><?php echo $datahub_button_cancel_01 ?></button> </div> </div> </div> </div> </div> </div> </div> <!-- ************************************************ --> <!-- Confirm delete --> <!-- ************************************************ --> <div class="modal fade" id="config_confirmDeleteModal" tabindex="-1" role="dialog" aria-labelledby="config_confirmDeleteModalLabel" aria-hidden="true"> <div class="modal-dialog modal-xl" role="document"> <div class="modal-content"> <div class="modal-header bg-primary text-white"> <h5 class="modal-title" id="config_confirmDeleteModalLabel"><?php echo $datahub_text0063 ?></h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> <div class="modal-body"> <form name="dataForm-delete" id="dataForm-delete"> <input type="text" class="d-none" id="confirm-delete-HUB_CFGNAM" name="confirm-delete-HUB_CFGNAM"> </form> <div class="h6"><?php echo $datahub_text0062 ?>: <span class="font-weight-bold" id="confirm-delete-text-CFGNAM"></span></div> </div> <div class="modal-footer"> <div class="container-fluid"> <div class="row mt-1 mb-2"> <div class="col-3 text-left"> <button type="button" onclick="dataDeleteExec()" class="btn btn-primary">Delete</button> </div> <div class="col-6 text-right"> </div> <div class="col-3 text-right"> <button type="button" class="btn btn-primary" data-dismiss="modal">Cancel</button> </div> </div> </div> </div> </div> </div> </div> <!-- ************************************************ --> <!-- Preview PDF and likewise --> <!-- ************************************************ --> <div class="modal fade" id="wa0361_previewModal" tabindex="-1" role="dialog" aria-labelledby="wa0361_previewModalLabel" aria-hidden="true"> <div class="modal-dialog modal-xxl" role="document"> <div class="modal-content"> <div class="modal-header bg-success text-white"> <h5 class="modal-title" id="wa0361_previewModalLabel">Preview element</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> <div class="modal-body"> <div class="container-fluid"> <div style="background-color:#ccc" class="border border-primary border-5" id="modal-preview-iframe"></div> <div class="row mt-2 mb-2"> <div class="col-3 text-left"> </div> <div class="col-6 text-right"> </div> <div class="col-3 text-right"> <button type="button" class="btn btn-primary" data-dismiss="modal">Cancel</button> </div> </div> </div> </div> </div> </div> </div> </body> </html>